Run the AT modem commands through debugd. This is necessary because communication with the serial interface needs root access. BUG=chrome-os-partner:17809 TEST=tested by issuing the relevant 'modem' commands in crosh CQ-DEPEND=Iecea0ab5aeb2907ae463fe9a6f1aa83b5632091a Change-Id: Ic43069080726d62447d5b8d41790ec5340639faa Reviewed-on: https://gerrit.chromium.org/gerrit/44420 Tested-by: Darin Petkov <petkov@chromium.org> Reviewed-by: Elly Jones <ellyjones@chromium.org> Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org> Commit-Queue: Darin Petkov <petkov@chromium.org>
diff --git a/modem b/modem index 4b8bc64..0569da6 100755 --- a/modem +++ b/modem
@@ -325,34 +325,10 @@ echo "Please reboot (or restart cromo) to use the new config group." } -send_at_command() { - local modem_tty=/dev/ttyUSB1 - [ -c "${modem_tty}" ] || error_exit "Missing modem tty device." +run_modem_command() { $(needarg cmd) - /usr/sbin/chat -e ABORT '\nERROR' '' "${cmd}" '\nOK' 2> >(tr -s '\n\r') \ - < "${modem_tty}" > "${modem_tty}" -} - -get_oma_status() { - send_at_command 'AT+OMADM=?' -} - -start_oma() { - send_at_command 'AT+OMADM=1' - send_at_command 'AT+OMADM=2' -} - -get_prl() { - send_at_command 'AT$PRL?' -} - -ciprl_update() { - send_at_command 'AT+PRL=1' - send_at_command 'AT+PRL=2' -} - -get_service() { - send_at_command 'AT+SERVICE?' + dbus-send --system --print-reply --dest=org.chromium.debugd \ + /org/chromium/debugd org.chromium.debugd.RunModemCommand "string:${cmd}" } usage() { @@ -388,7 +364,7 @@ activate_manual "$@" ;; ciprl-update) - ciprl_update "$@" + run_modem_command ciprl-update ;; connect) connect "$@" @@ -397,13 +373,13 @@ factory_reset "$@" ;; get-oma-status) - get_oma_status "$@" + run_modem_command get-oma-status ;; get-prl) - get_prl "$@" + run_modem_command get-prl ;; get-service) - get_service "$@" + run_modem_command get-service ;; reset) reset "$@" @@ -418,7 +394,7 @@ set_madison_config "$@" ;; start-oma) - start_oma "$@" + run_modem_command start-oma ;; status) status "$@"